#ifndef PACOTE_H_
#define PACOTE_H_

#include <list>
#include "Paciente.h"
#include "Vacina.h"

    /**********************************************************************
        Classe: Pacote
        Funcionalidade: Guarda um pacote de vacinas, que está disponível
    para o uso dos pacientes associados a este cliente
    ***********************************************************************/

using namespace std;

class Pacote {
  private:
     list<Vacina*> vacinas; //lista de vacinas contidas no pacote
     time_t dataPacote;     //Usa localtime do tm pra transformar pra algo legivel

  public:
     //Construtor da classe
     Pacote();

     //Adiciona uma vacina ao pacote
     bool addVacina(string descricao, list<Vacina> allVacinas);

     //Remove uma vacina do pacote
     bool removeVacina(string descricao);

     //Calcula o valor total das vacinas do pacote
     double calcularValorTotal();

     //Elabora um pacote para determinado cliente
     void elaborarPacote(Paciente * p,list<Vacina> &vac);

	//Retorna as vacinas
	list<Vacina*> &getVacinas();
};

#endif
